I. Field of the Invention
The present invention pertains generally to the field of packet data communications employing encryption technology for safeguarding information, and more specifically to providing a method and apparatus for achieving crypto-syncronization in such a communication system.
II. Background
The field of packet data communications has gained widespread acceptance with the popularity of the Internet. Initially, packet data communications were carried over wires, with various communication components connected by wires. More recently, applications requiring wireless transmission of packet data have appeared in the form of wireless telephones and other wireless communication devices, such as wireless modems. Recently, there has become a need for these wireless communication devices to employ techniques to ensure that certain transmissions are not intercepted by unintended parties. Such safeguarding techniques often employ encryption technology, and is useful in such applications as military, police, and other security applications.
One technique for using encryption technology in a wireless communication device is to digitize analog signals into discreet data packets, or frames, generate a random code for each frame, then apply the code to each frame to encrypt the information contained therein. The random codes generated by this technique can be derived by using well-known public key encryption techniques, which encrypts information using a public key, or code, and decrypting the information using a private key.
The encryption technique described above is particularly suitable for use in a data communication systems, due to the nature of many data transmission protocols, such as TCP or IP. In such systems, data is transmitted as discreet segments, or data frames, each data frame generally containing a predetermined number of information bits. Alternatively, other data frames are defined by a predetermined time duration, containing a variable number of information bits within each frame. Traditionally, such data communication systems have been used to transmit information which is not time-critical, such as email, data files, and Internet web site information.
Recently, data communication systems have been used to transmit time-critical information as well, including audio information, such as human speech, and video information. In such systems, time-critical information is converted into digital information, often into data frames as described above. The data frames may then be transmitted over a computer network, such as the Internet, using well-known data transmission protocols, such as TCP and IP.
One of the primary problems of transmitting time-critical information using data protocols is the delay associated in the transmission process. Many data protocols use a re-transmission process if data segments are not properly received. The re-transmission process introduces a delay, or latency, in subsequently transmitted data frames, which adversely affects the time-critical data. For example, delays of more than a few hundred milliseconds in speech can result in unacceptable voice quality.
One solution to reducing the problem of latency when transmitting time-critical information using a data communication system is to drop data frames, at either a transmitter or a receiver, when the latency exceeds a predetermined threshold. In a transmitter, frames are dropped by transmitting only a fraction of the total number of frames available for transmission. In a receiver, frames are dropped by ignoring a fraction of the total number of frames received.
While dropping data frames reduces the problem of latency, it introduces another problem to communication systems employing the cryptographic technique explained above. Namely, if a frame is dropped at a transmitter, decryption of subsequent frames at the receiver is not possible because the sequential numbering of each frame as a result of the encryption process is disrupted. The decryption process relies on a stream of consecutively numbered frames as they were generated by the encryption process at the transmitter. Therefore, when frames are dropped at the transmitter prior to encryption, the frames received by the decryption process are no longer synchronized to the encryption process, resulting in frames which are incorrectly decrypted.